package com.liming.common.pojo.entity.order;

import com.baomidou.mybatisplus.annotation.TableName;
import com.liming.common.pojo.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liming
 * @date 2025/4/14
 */
@Data
@TableName("se_refund_order")
@EqualsAndHashCode(callSuper = true)
public class RefundOrder extends BaseEntity {

    /**
     * 订单id
     */
    private Long orderId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 用户名称
     */
    private String username;

    /**
     * 退款原因
     */
    private String reason;

    /**
     * 退款申请状态 0 用户申请退款 1 商家同意 2商家拒绝
     */
    private Integer applyStatus;

    /**
     * 拒绝原因
     */
    private String rejectReason;

    /**
     * 退款单号
     */
    private String refundNo;

    /**
     * 申请退款受理成功时，该笔退款单在微信支付侧生成的唯一标识。
     */
    private String refundId;

    /**
     * 订单退款渠道：rn1: 原路退款，rn2: 退回到余额，rn3: 原账户异常退到其他余额账户，rn4: 原银行卡异常退到其他银行卡（发起异常退款成功后返回）。
     */
    private Integer channel;

    /**
     * 取当前退款单的退款入账方
     */
    private String userReceivedAccount;

    /**
     * 退款单的退款处理状态。rn1: 退款成功，rn2: 退款关闭，rn3: 退款处理中，rn4: 退款异常，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，可前往商户平台-交易中心，手动处理此笔退款，可参考： 退款异常的处理，或者通过发起异常退款接口进行处理。
     */
    private Integer status;

    /**
     * 退款所使用资金对应的资金账户类型：
     * 1 UNSETTLED: 未结算资金，
     * 2 AVAILABLE: 可用余额，
     * 3 UNAVAILABLE: 不可用余额，
     * 4 OPERATION: 运营账户，
     * 5 BASIC: 基本账户（含可用余额和不可用余额），
     * 6 ECNY_BASIC: 数字人民币基本账户。
     */
    private Integer fundsAccount;
}
